// pages/my/my.js
const c = require("../../utils/clearStorage");
import {
  userLogin
} from '../../utils/my_request';
import Toast from '@vant/weapp/toast/toast';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    orderTopHeight: 0,
    //默认头像
    defaultAvatar: "https://yueqian-1311524869.cos.ap-chengdu.myqcloud.com/images/5.png",
    phoneTip: "用户未绑定手机号",
    isLogin: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    var that = this
    // 获取页面可用区域宽高
    this.setData({
      windowHeight: wx.getStorageSync('windowHeight'),
      windowWidth: wx.getStorageSync('windowWidth')
    })
    // 头像顶端平行于胶囊底部的上边距
    this.setData({
      orderTopHeight: wx.getStorageSync('orderTopHeight')
    })
    // 获取初始登录状态（用户授权自动登录/用户拒绝授权需要手动登录）
    let isLogin = wx.getStorageSync('isLogin')
    this.setData({
      isLogin
    })
  },
  // 跳转到我的收藏
  goToCollection() {
    wx.navigateTo({
      url: '/pages/my/myCollection/myCollection',
    })
  },
  goToHelp() {
    wx.navigateTo({
      url: '/pages/my/help/help',
    })
  },
  goToSetting() {
    wx.navigateTo({
      url: '/pages/my/setting/setting',
    })
  },
  goToCall() {
    wx.makePhoneCall({
      phoneNumber: '0110-26888',
    })
  },

  //登录，授权验证
  getAuth() {
    let that = this
    console.log("点击登录,进入授权验证函数")
    //调用授权申请api
    wx.authorize({
      scope: 'scope.userInfo',
      success(res) {
        console.log("用户已授权")
        //用户授权调用对应api
        that.GetUserInfo()
      },
      fail() {
        console.log("用户未授权")
        //用户未授权，添加失败标志
        wx.setStorageSync('isLogin', false)
      },
      complete() {
        // 添加加载状态的处理，例如隐藏加载动画
        // ...
      }
    })
    //===========================+++++++++++++++=================================

    // wx.getSetting({
    //   success(res) {
    //     //如果未授权
    //     if (!res.authSetting['scope.userInfo']) {
    //       //调用授权申请api
    //       wx.authorize({
    //         scope: 'scope.userInfo',
    //         success(res) {
    //           console.log("用户已授权")
    //           //用户授权调用对应api
    //           that.GetUserInfo()
    //         },
    //         fail() {
    //           console.log("用户未授权")
    //           //用户未授权，添加失败标志
    //           wx.setStorageSync('isLogin', false)
    //         },
    //         complete() {
    //           // 添加加载状态的处理，例如隐藏加载动画
    //           // ...
    //         }
    //       })
    //     }
    //   },
    //   fail(err) {
    //     console.log("登陆失败!")
    //   }
    // })
  },
  //其次获取用户信息
  GetUserInfo() {
    var _this = this
    Toast.loading({
      message: '登陆中...',
      forbidClick: true,
    });
    console.log("调用获取用户信息函数")
    wx.getUserInfo({
      // 将获取的相关用户信息传到后端存储
      success: res => {
        console.log("小程序API返回结果:", res)
        userLogin(res.iv, res.encryptedData, res.signature, res.rawData).then(res => {
          _this.setData({
            UserInfoData: res
          })
          Toast.success('登陆成功!');
          console.log("登录成功")
          _this.onLoad()
        }).catch(err => {
          console.log(err)
          Toast.fail('登陆失败!');
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    if (typeof this.getTabBar === 'function' &&
      this.getTabBar()) {
      this.getTabBar().setData({
        selected: 3
      })
    }
  }
})